1. Struktura skriptu
2. Prom∞nnΘ urΦenΘ pro zßpis
2.1. PovinnΘ prom∞nnΘ pou₧φvanΘ v procedu°e StatInit
Version, MsgSizes, Countries
2.2. NepovinnΘ prom∞nnΘ pou₧φvanΘ v procedu°e StatInit
Author, CountryCode, Prefixes, MsgTime, QueueTime, AoDAvail, IdentAvail, FlashAvail,
AoDOn, AoDOff, IdentOn, IdentOff, FlashOn, FlashOff, Official, PasswordLabel,
UserPar1Label, UserPar2Label, UserPar3Label, UserPar4Label, Info, PrefSubst
2.3. NepovinnΘ prom∞nnΘ pou₧φvanΘ v procedu°e DynInit nebo Send
IdentActive, AodActive, FlashActive
3. Prom∞nnΘ urΦenΘ pouze pro Φtenφ (funkce) pou₧φvanΘ v procedu°e DynInit nebo Send
IPhone, ICode, Prefix, PhoneNP, Message, Email, Subject Phase, MyEmail, MyName,
MyICode, MyPrefix, MyPhoneNP, Password, UserPar1, UserPar2, UserPar3, UserPar4
4. Procedury a funkce pou₧φvanΘ v kdekoliv ve skriptu
function Translate(Key);
5. Procedury a funkce pou₧φvanΘ v procedu°e DynInit nebo Send
procedure GetPage(URL, Message);
procedure PostPage(URL, Fields, Message);
procedure GetPageEx(Frame: integer; URL, Message; Delay: integer);
procedure PostPageEx(Frame: integer; URL, Fields, Message; Delay: integer);
procedure AddResult(Search, Print; Action: integer);
procedure AddLog(Message, Recipient; Error: Boolean; Info);
function GetAoD;
function GetFlash;
function GetIdent;
function MD5(Source);
function FindTextBetween(StartStr, EndStr);
function GetHTMLSource;
function GetPictureInput(URL: String): String;
5.1. Konstanty pou₧φvanΘ v AddResult
Success, Retry, Queue, QueueWhen, Cancel, Resume, Exceeded, SuccessContinue
6. P°φklady skript∙
Syntaxe skriptu je zalo₧ena na Object Pascalu, ve v∞tÜin∞ je shodnß. OdliÜnosti
a dalÜφ informace naleznete na http://www.dwscript.com.
Skript musφ obsahovat dv∞ povinnΘ procedury StatInit a Send, dßle m∙₧e obsahovat
procedury DynInit a AfterKeyPress a libovoln² poΦet u₧ivatelem definovan²ch
procedur a funkcφ. Skript mß nßsledujφcφ strukturu:
procedure StatInit;
begin
...
end;
...
volitelnΘ procedury a funkce
...
procedure Send(Index: integer);
begin
...
end;
case ParamStr(0) of
'STATINIT' : StatInit;
'SEND' : Send(Phase);
'DYNINIT' : DynInit; // jen pokud jsou funkce definovanΘ (volitelnΘ)
'KEYPRESS': AfterKeyPress; // jen pokud jsou funkce definovanΘ (volitelnΘ)
end;
StatInit - statickß inicializace prom∞nn²ch, smφ se p°i°azovat pouze konstanty,
povolenß je pouze funkce Translate. Provßdφ se p°i startu aplikace (naΦφtßnφ skriptu).
DynInit - dynamickß inicializace prom∞nn²ch, smφ se pou₧φt libovolnß prom∞nnß Φi
funkce. Provßdφ se p°ed odeslßnφm zprßvy.
KeyPress - dynamickß inicializace prom∞nn²ch, smφ se pou₧φt libovolnß prom∞nnß Φi
funkce. Provßdφ se p°i stisku klßvesy v editoru.
Send(Index: integer) - vlastnφ odesφlßnφ zprßv, v parametru Index je fßze odesφlßnφ (Φφslovßno od nuly).
Version: Float;
Verze skriptu ve formßtu major.minor, nap°. 1.2.
MsgSizes: String;
St°ednφkem odd∞len² seznam veliskostφ zprßv, nap°. '153;156;156;156;156'.
Countries: String;
St°ednφkem odd∞len² seznam zkratek zemφ do kter²ch skript odesφlß, nap°. 'CH;DE;AU'.
Pro mezinßrodnφ skripty se pou₧φvß 'INT', pro ostatnφ viz tabulka k≤d∙ stßt∙.
CountryCode: integer;
K≤d stßtu, do kterΘho skript odesφlß. Pou₧φvß se jen k automatickΘmu p°i°azovßnφ skriptu u adresßta.
Author: String;
JmΘno autora skiptu a za st°ednφkem kontaktnφ URL nap°. 'DreamTeam;mailto:kubiksms@dreamcom.cz'
Prefixes: String;
St°ednφkem odd∞len² seznam p°edΦφslφ, na kterΘ dan² skript odesφlß, nap°. '603;604;605;73'
MsgTime: integer;
╚as v sekundßch, kter² vymezuje interval mezi odeslßnφm 2 po sob∞ jdoucφch zprßv.
QueueTime: String;
╪et∞zec na rozpoznßnφ doby, za kterou bude mo₧no odesφlat dalÜφ zprßvu, nap°. 'NAME="smstime" VALUE="'.
AoDAvail: Boolean;
SMS brßna podporuje oznßmenφ o doruΦenφ zprßvy (doruΦenka).
IdentAvail: Boolean;
SMS brßna podporuje identifikaci.
FlashAvail: Boolean;
SMS brßna podporuje odeslßnφ zprßvy pouze na displej mobilu (flash).
AoDOn: String;
╪et∞zec, kter² definuje zapnutou doruΦenku (°et∞zec vrßtφ fce GetAoD p°i zapnutΘ doruΦence).
AoDOff: String;
╪et∞zec, kter² definuje vypnutou doruΦenku (°et∞zec vrßtφ fce GetAoD p°i vypnutΘ doruΦence).
IdentOn: String;
╪et∞zec, kter² definuje zapnutou identifikaci (°et∞zec vrßtφ fce GetIdent p°i zapnutΘ identifikaci).
IdentOff: String;
╪et∞zec, kter² definuje vypnutou identifikaci (°et∞zec vrßtφ fce GetIdent p°i vypnutΘ identifikaci).
FlashOn: String;
╪et∞zec, kter² definuje zapnutou funkci flash (°et∞zec vrßtφ fce GetFlash p°i zapnutΘ flash sms).
FlashOff: String;
╪et∞zec, kter² definuje vypnutou funkci flash (°et∞zec vrßtφ fce GetFlash p°i vypnutΘ flash sms).
Official: Boolean;
Pokud nastaveno na True, je skript neoficißlnφ a nebude automaticky dopl≥ovßn u adresßt∙.
PasswordLabel: String;
Skript vy₧aduje p°ihlßÜenφ heslem, hodnota je text, kter² se zobrazuje na kart∞ skript∙.
UserPar1Label: String;
U₧ivatelskß prom∞nnß pou₧φvanß p°i odesφlßnφ zprßvy, hodnota je text, kter² se zobrazuje na kart∞ skript∙. Obvykle se jednß o u₧ivatelskΘ jmΘno (p°i p°ihlaÜovßnφ).
UserPar2Label: String;
Popis dalÜφ u₧ivatelskΘ prom∞nnΘ.
UserPar3Label: String;
Popis dalÜφ u₧ivatelskΘ prom∞nnΘ.
UserPar4Label: String;
Popis dalÜφ u₧ivatelskΘ prom∞nnΘ.
Info: String;
Dopl≥ujφcφ informace o skriptu, kterΘ se zobrazujφ p°i kliknutφ na i v hlavnφm okn∞ a na kart∞ skript∙.
PrefSubst: String;
St°ednφkem odd∞len² seznam substitucφ p°edΦφslφ, nap°. '601=1;602=2;606=3' znamenß, ₧e p°edΦφslφ 601 bude nahrazeno hodnotou 1 atd.
IdentActive: Boolean;
Vracφ True, pokud je u odesφlanΘ zprßvy aktivovßna identifikace.
AodActive: Boolean;
Vracφ True, pokud je u odesφlanΘ zprßvy aktivovßna doruΦenka.
FlashActive: Boolean;
Vracφ True, pokud je u odesφlanΘ zprßvy aktivovßna flash sms.
IPhone: String;
Tel. Φφslo adresßta v mezinßrodnφm formßtu.
ICode: String;
K≤d stßtu z Φφsla adresßta (bez plusu a ·vodnφch nul).
Prefix: String;
P°edΦφslφ z Φφsla adresßta.
PhoneNP: String;
╚φslo adresßta bez p°edΦφslφ a k≤du zem∞.
Message: String;
Text odesφlanΘ zprßvy.
Email: String;
Emailovß adresa p°φjemce zprßvy.
Subject: String;
P°edm∞t emailu.
Phase: integer;
Fßze odesφlßnφ, Φφslovßno od nuly, tzn. ₧e Phase=0 je prvnφ fßze.
MyEmail: String;
Email u₧ivatele.
MyName: String;
JmΘno u₧ivatele.
MyICode: String;
K≤d stßtu z tel. Φφsla u₧ivatele.
MyPrefix: String;
P°edΦφslφ z tel. Φφsla u₧ivatele.
MyPhoneNP: String;
Tel. Φφslo u₧ivatele (bez plusu a ·vodnφch nul)
Password: String;
Heslo pro p°ihlßÜenφ k sms brßn∞.
UserPar1: String;
Hodnota u₧ivatelskΘ prom∞nnΘ.
UserPar2: String;
Hodnota u₧ivatelskΘ prom∞nnΘ.
UserPar3: String;
Hodnota u₧ivatelskΘ prom∞nnΘ.
UserPar4: String;
Hodnota u₧ivatelskΘ prom∞nnΘ.
function Translate(Key: String): String;
Podle klφΦe Key vyhledß v p°φsluÜnΘm .lng souboru odpovφdajφcφ p°eklad v zßvislosti na nastavenΘm jazyce.
procedure GetPage(URL, Message: String);
NaΦte strßnku URL a v okn∞ udßlostφ zobrazφ hlßÜku Message.
procedure PostPage(URL, Fields, Message: String);
Provede post strßnky URL. V parametru Fields jsou nßzvy prvk∙ formulß°e - ve formßtu
'nazev1=hodnota1&nazev2=hodnota2' atd. Nßsledn∞ se zobrazφ hlßÜka Message v okn∞ udßlostφ.
procedure GetPageEx(Frame: integer; URL, Message: String; Delay: integer);
RozÜφ°enß verze procedury GetPage:
Frame - po°adovΘ Φφslo framu, Φφslovßno od 1. Pokud je Frame=0, framy se ignorujφ.
URL - adresa strßnky.
Message - hlßÜka, kterß se zobrazφ v okn∞ udßlostφ.
Delay - pauza p°ed zapoΦetφm dalÜφ fßze odesφlßnφ(v milisekundßch).
procedure PostPageEx(Frame: integer; URL, Fields, Message: String; Delay: integer);
RozÜφ°enß verze procedury PostPage:
Frame - po°adovΘ Φφslo framu, Φφslovßno od 1. Pokud je Frame=0, framy se ignorujφ.
URL - adresa strßnky.
Fields - nßzvy prvk∙ formulß°e, jsou ve formßtu 'nazev1=hodnota1&nazev2=hodnota2' atd.
Message - hlßÜka, kterß se zobrazφ v okn∞ udßlostφ.
Delay - pauza p°ed zapoΦetφm dalÜφ fßze odesφlßnφ(v milisekundßch).
procedure AddResult(Search, Print: String; Action: integer);
Pokud je v prßv∞ naΦtenΘ strßnce nalezen °et∞zec Search, zobrazφ se v okn∞ udßlostφ
°et∞zec Print a provede se akce Action (viz Konstanty pou₧φvanΘ v AddResult).
procedure AddLog(Message, Recipient: String; Error: Boolean; Info: String);
Zobrazφ hlßÜku Message v okn∞ udßlostφ. Recipient je jmΘno adresßta, Info jsou dopl≥ujφcφ informace.
Pokud je Error=True, zobrazφ se vyk°iΦnφk.
function GetAoD: String;
Vrßtφ °et∞zec, kter² p°edstavuje zapnutou Φi vypnutou doruΦenku.
function GetFlash: String;
Vrßtφ °et∞zec, kter² p°edstavuje zapnutou Φi vypnutou flash sms.
function GetIdent: String;
Vrßtφ °et∞zec, kter² p°edstavuje zapnutou Φi vypnutou identifikaci.
function MD5(Source: String): String;
Vrßtφ hash °et∞zce Source.
function FindTextBetween(StartStr, EndStr: String): String;
Vrßtφ °et∞zec ze zdrojovΘho k≤du prßv∞ naΦtenΘ strßnky, kter² se nachßzφ mezi °et∞zci StartStr a EndStr.
function GetHTMLSource: String;
Vrßtφ zdrojov² k≤d prßv∞ naΦtenΘ strßnky (framu).
function GetPictureInput(URL: String): String;
Po zavolßnφ tΘto funkce se otev°e dialogovΘ okno se zobrazenou HTML strßnkou
(adresa je v parametru URL). U₧ivatel mß pak mo₧nost zadat text, kter² funkce
vrßtφ jako v²stup. Obvykle se pou₧φvß, pokud sms brßna po u₧ivateli vy₧aduje
opsßnφ kontrolnφho °et∞zce.
V procedurßch GetPage, PostPage, GetPageEx a PostPageEx
je mo₧nΘ jako hodnotu parametru Message zadat jeden z °et∞zc∙:
"Msg_Sent, Msg_Loading, Msg_Sending, Msg_Expired, Msg_Later, Msg_WrongNum,
Msg_Logging, Msg_Limit, Msg_Accepted, Msg_WrongPass, Msg_Reg".
Ten pak bude nahrazen p°φsluÜn²m p°ekladem z .lng souboru. Stejn∞ tak funguje
u procedury AddResult parametr Print.
Success: integer = 1;
Zprßva byla ·sp∞Ün∞ odeslßna, bude vy°azena z fronty a p°idßna do historie.
Retry: integer = 2;
Bude ihned proveden nov² pokus o odeslßnφ.
Queue: integer = 3;
Zprßva z∙stane z∙stane za°azena ve front∞ a jejφ odesφlßnφ se ukonΦφ.
QueueWhen: integer = 4;
UkonΦφ se odesφlßnφ zprßvy, odesφlat se zaΦne znovu v Φas, kter² se zφskß z sms brßny.
Cancel: integer = 5;
Odesφlßnφ zprßvy bude ukonΦeno.
Resume: integer = 6;
Bude se pokraΦovat ve vykonßvanφ skriptu.
Exceeded: integer = 7;
Byl vyΦerpßn limit odeslan²ch prßv pro danou sms brßnu.
SuccessContinue: integer = 8;
Zprßva byla ·sp∞Ün∞ odeslßna, bude vy°azena z fronty a p°idßna do historie a potΘ jeÜt∞ bude zavolßna dalÜφ fßze. V tΘto fßzi ji₧ nesmφte odesφlat! Pou₧ijte ji jen na zobrazenφ n∞jak²ch u₧iteΦn²ch informacφ z odpov∞di brßny.
Jednoduch² skript
Slo₧it∞jÜφ skript
Nahoru